]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
legacyTray: Temporarily reveal tray when icons are added
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 14 Apr 2015 16:24:44 +0000 (18:24 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Tue, 14 Apr 2015 19:57:54 +0000 (21:57 +0200)
There is a balance to hit between discoverability and getting out
of the way, and the legacy tray currently fails in both regards.
To address the first issue, temporarily reveal the tray when a
new icon is added.

https://bugzilla.gnome.org/show_bug.cgi?id=746025

js/ui/legacyTray.js

index 821dd9dc40e7d0141a3ba756b9b37a5ca076b59a..b97fd48fd23421ba5abd16ce10c086cfbb2cae6b 100644 (file)
@@ -1,4 +1,5 @@
 const Clutter = imports.gi.Clutter;
+const GLib = imports.gi.GLib;
 const GObject = imports.gi.GObject;
 const Meta = imports.gi.Meta;
 const Shell = imports.gi.Shell;
@@ -30,6 +31,7 @@ const STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
 // Offset of the original position from the bottom-right corner
 const CONCEALED_VISIBLE_FRACTION = 0.2;
 const REVEAL_ANIMATION_TIME = 0.2;
+const TEMP_REVEAL_TIME = 2;
 
 const BARRIER_THRESHOLD = 70;
 const BARRIER_TIMEOUT = 1000;
@@ -174,7 +176,15 @@ const LegacyTray = new Lang.Class({
             }));
 
         this._iconBox.add_actor(button);
-        this._sync();
+
+        if (!this._concealHandle.visible) {
+            this._concealHandle.show();
+            GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, TEMP_REVEAL_TIME,
+                Lang.bind(this, function() {
+                    this._concealHandle.hide();
+                    return GLib.SOURCE_REMOVE;
+                }));
+        }
     },
 
     _onTrayIconRemoved: function(tm, icon) {